494522d36f7be343708296ecfde680ca1345b721,src/org/pentaho/di/trans/steps/salesforceupdate/SalesforceUpdate.java,SalesforceUpdate,writeToSalesForce,#Object[]#,133

Before Change


			// if there is room in the buffer
			if ( data.iBufferPos < meta.getBatchSizeInt()) {
				// build the XML node
				MessageElement[] arNode = new MessageElement[data.nrfields];
				int index=0;
				for ( int i = 0; i < data.nrfields; i++) {
					arNode[index++] = newMessageElement( meta.getUpdateLookup()[i], rowData[data.fieldnrs[i]]);
				}				
				
				//build the SObject
				SObject	sobjPass = new SObject();
				sobjPass.set_any(arNode);
				sobjPass.setType(data.realModule);
				
				//Load the buffer array

After Change


				
				// Add fields to update
				for ( int i = 0; i < data.nrfields; i++) {
					if(data.inputRowMeta.isNull(rowData, data.fieldnrs[i])) {
						// The value is null
						// We need to keep track of this field
						fieldsToNull.add(meta.getUpdateLookup()[i]);
					} else {
						updatefields.add(newMessageElement( meta.getUpdateLookup()[i], rowData[data.fieldnrs[i]]));
					}
				}					
				
				//build the SObject
				SObject	sobjPass = new SObject();
				sobjPass.setType(data.realModule);
				if(updatefields.size()>0) {
					sobjPass.set_any((MessageElement[])updatefields.toArray(new MessageElement[updatefields.size()]));
				}
				if(fieldsToNull.size()>0) {
					// Set Null to fields